.expression-line {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 8px;
    & > div {
        flex-grow: 0;
        margin-right: 8px;
    }
    .expression-other {
        opacity: 0;
        transition: opacity .2s ease;
        pointer-events: none;
    }
    &:hover {
        .expression-other {
            opacity: 1;
            pointer-events: fill;
        }
    }

    // 自定义组件修正
    .expression-value {
        flex-grow: 1;
        overflow: hidden;
        .ant-tag {
            padding: 0px 8px 0px 10px;
            line-height: 24px;
            margin: 3px 4px 3px 0;
            a {
                font-size: 16px;
            }
            + .ant-input {
                width: 120px;
            }
        }
        .ant-radio-group {
            padding: 4px 0;
        }
    }

    // antd组件样式修正
    .ant-select {
        .ant-select-selector {
            border-width: 0 0 1px 0;
        }
        &:hover {
            .ant-select-selector {
                border-right-width: 0 !important;
            }
        }
        &.ant-select-focused {
            outline: none !important;
        }
    }
}

.expression-field {
    &, .ant-select {
        width: 150px;
    }
}
.expression-operator {
    &, .ant-select {
        width: 120px;
    }
}

.expression-inner {
    padding: 8px 0 4px 32px;
    position: relative;
    .inner-border {
        position: absolute;
        left: 10px;
        top: 0;
        width: 4px;
        border-radius: 4px;
        bottom: 0;
        background-color: #3d75f6;
        overflow: visible;
        cursor: pointer;
        transition: background-color .5s ease;
        &:after {
            content: '\4e14';
            position: absolute;
            width: 24px;
            height: 24px;
            left: -10px;
            top: 50%;
            margin-top: -12px;
            border-radius: 5px;
            text-align: center;
            line-height: 24px;
            background-color: #3d75f6;
            color: #fff;
            transition: background-color 1s ease;
        }
    }
    > .expression-line {
        position: relative;
        &:before {
            content: '';
            position: absolute;
            z-index: 1;
            width: 5px;
            height: 8px;
            left: -2px;
            top: 12px;
            background-color: #3d75f6;
            transition: background-color 1s ease;
        }
    }
    &.rel-or {
        > .inner-border {
            background-color: #73b460;
            &:after {
                content: '\6216';
                background-color: #73b460;
            }
        }
        > .expression-line {
            &:before {
                background-color: #73b460;
            }
        }
    }
}

.expression-handler {
    padding: 10px;
    .handler-del {
        margin-left: 16px;
        display: none;
    }
    &:hover {
        .handler-del {
            display: inline-block;
        }
    }
}